package com.xxxx.server.service;

import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xxxx.server.page.BasePage;
import com.xxxx.server.page.EmployeeExcel;
import com.xxxx.server.page.EmployeePage;
import com.xxxx.server.page.RespPageBean;
import com.xxxx.server.pojo.Admin;
import com.xxxx.server.pojo.Employee;
import com.xxxx.server.pojo.EmployeeAdd;
import com.xxxx.server.pojo.RespBean;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 */
public interface IEmployeeService extends IService<Employee> {
    /**
     * 查询所有员工对象（分页）
     * @param currentPage
     * @param size
     * @param employee
     * @param beginDateScope
     * @return
     */
    RespPageBean getEmployeeByPage(Integer currentPage, Integer size, Employee employee, LocalDate[] beginDateScope);

    /**
     * 获取工号
     * @return
     */
    RespBean maxWorkID();

    /**
     * 添加员工
     * @param employee
     * @return
     */
    RespBean addEmp(Employee employee);

    /**
     * 根据ID查询员工
     * @param id
     * @return
     */
    List<Employee> getEmployee(Integer id);

    /**
     * 查询所有员工账套
     * @param currentPage
     * @param pageSize
     * @return
     */
    RespPageBean getEmployeeWithSalary(Integer currentPage, Integer pageSize);

/*

    Integer updateEmployeeById(Employee employee);

    //Object findList(IPage<Employee> page);

    //导入数据 批量增加
    Integer addEmployees(@Param("list") List<Object> list);

    //导出所有数据
    List<Employee> findAllEmployee();

    //导入数据
    List<Object> importEmployeeExcel(MultipartFile excel, BaseRowModel baseRowModel, int headLineNum);

    Integer removeEmployeeById(Integer id);



    //添加一条员工信息
     Integer saveEmployee(EmployeeAdd employeeAdd);

    //按照员工的 id对员工发送邮件
    Employee getEmployeeById(Integer empId);


    //最大工号  完成添加时的自增
    Integer maxWorkID();

    //发送邮件
    public void sendHtmlMail(String to, String subject, String content);
*/
}
